package com.chamberlain.equipment.service;

import com.chamberlain.common.core.domain.entity.Scene;
import com.chamberlain.common.core.domain.entity.SysUser;
import com.chamberlain.common.core.domain.model.LoginUser;

import java.util.List;

/**
 * @author: CYY
 * @date: 2024/3/25
 */
public interface ISceneService {
    /**
     * 查询场景
     *
     * @param id 场景主键
     * @return 场景
     */
    public Scene selectSceneById(Long id);

    /**
     * 查询场景列表
     *
     * @param scene 场景
     * @return 场景集合
     */
    public List<Scene> selectSceneList(Scene scene);

    /**
     * 新增场景
     *
     * @param scene 场景
     * @return 结果
     */
    public int insertScene(Scene scene, LoginUser loginUser);

    /**
     * 修改场景
     *
     * @param scene 场景
     * @return 结果
     */
    public int updateScene(Scene scene);

    /**
     * 批量删除场景
     *
     * @param ids    需要删除的场景主键集合
     * @param userId
     * @return 结果
     */
    public int deleteSceneByIds(Long[] ids, Long userId);

    /**
     * 删除场景信息
     *
     * @param id 场景主键
     * @return 结果
     */
    public int deleteSceneById(Long id);

    List<Scene> selectSceneListByUser(SysUser sysUser);
}
